package com.liuugoqing.behavioral.Iterator;

import java.util.List;

/**
 * 具体迭代器（Concretelterator）角色：实现抽象迭代器接口中所定义的方法，完成对聚合对象的遍历，记录遍历的当前位置。
 *
 * @Author : liugq
 * @Date : 2022/7/14 16:21
 * @See : 参考类
 * @Since： JDK1.8
 * @Version : 1.0
 */
public class StudentIteratorImpl implements StudentIterator {
    private List<Student> list;
    private int position = 0;

    public StudentIteratorImpl(List<Student> list) {
        this.list = list;
    }


    /**
     * 是否有下一个元素
     *
     * @return
     */
    @Override
    public boolean hasNext() {
        return position < list.size();
    }

    /**
     * 获取下一个元素
     *
     * @return
     */
    @Override
    public Student next() {
        Student current = list.get(position);
        position++;
        return current;

    }
}
